package com.demo;

import org.springframework.util.StringUtils;

import java.io.*;

/**
 * @author mifei
 * @create 2021-04-12 17:29
 **/
public class ReadAndFilter {
    /**
     * 源文件
     */
    private static final String SOURCE = "C:\\Users\\mifei\\Documents\\WXWork\\1688850053805981\\Cache\\File\\2021-07\\zlyy.txt";
    /**
     * 目标文件
     */
    private static final String TARGET = "C:\\Users\\mifei\\Documents\\WXWork\\1688850053805981\\Cache\\File\\2021-07\\zlyy3.txt";

    public static void main(String[] args) {
        try {

            File file = new File(SOURCE);
            String str;
            BufferedReader reader = new BufferedReader(new FileReader(file));
            //逐行读取
            while ((str = reader.readLine()) != null) {
                //符合条件需要修改的
                if (!str.startsWith("113.31.26.55")
                        && str.indexOf(".action") > 0
                        && str.indexOf(".dwr") < 0) {
                    //不符合条件直接写入
                    write(str + "\n");
                }
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    private static void write(String data) throws IOException {
        //读写的数据源
        File f = new File(TARGET);
        //指定文件不存在就创建同名文件
        if (!f.exists()) f.createNewFile();
        //rw : 设为读写模式
        RandomAccessFile raf = new RandomAccessFile(f, "rw");
        //记录指针与文件内容长度相等
        raf.seek(raf.length());
        //以字节形式写入字符串
        raf.write(data.getBytes());
    }
}
